<?php

namespace App\Http\Controllers\home;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;
use Hash;
class LoginController extends Controller
{
    /**
     *	前台登录页面
     */
    public function getIndex(Request $request)
    {
        // 接受商品详情页登录的gid
        $gid = $request -> input('gid','');
        session() -> put('gid',$gid);
        
        return view('home.login',['gid'=>$gid]);
    }

	 /**
    *	后台登录生成session
    */
    public function postSelect(Request $request)
    {	
    	// 自动验证表单
        $this -> validate($request,[
            'username' => 'required',
            'password' => 'required',
        ],[
            'username.required' => '用户名不能为空',
            'password.required' => '密码不能为空',
        ]);

        // 获取登录页面提交的信息
        $arr = $request -> except('_token');

        // 查询数据表的信息
        $data = DB::table('user') -> where('username','=',$arr['username']) -> first();

        // 判断用户名是否存在
        if (empty($data)) {
            return back() -> with('error','用户名不存在');
        }

        // 判断用户名状态
        if ($data['status'] != 0) {
            return back() -> with('error','用户名已被禁用');
        }

        // 判断用户名激活状态
        if ($data['activate'] != 0) {
            return back() -> with('error','用户未激活,请先激活');
        }

        // 解密密码
        $res = Hash::check($arr['password'], $data['password']);
        
        // 判断密码是否正确
        if ($res) {
        	// 将用户名和密码以及用户状态存入session
	    	session(['homeusername'=>$arr['username']]);
            session(['merchant'=>$data['merchant']]);
	    	
	    	// 判断是否记住密码 记住则将密码存入session
	    	if ($request -> has('checkbox')) {
	    		session(['homepassword'=>$arr['password']]);
	    	}

	    	// 最后登录时间
	    	$lasttime = time();

	    	// 修改数据表中的最后登录时间
	    	DB::table('user') -> where('username',$arr['username']) -> update(['lasttime'=>$lasttime]);
	    	// 接受商品详情页登录的gid
            if (!empty(session('gid'))) {
                session() -> forget('alert');
                return redirect('/goodsdetail/'.session('gid'));
            } else {
                // 跳转到前台首页
                return redirect('/');
            }
	    	
        } else {
            return back() -> with('error','密码不正确');
        }
    }
	   
}
